// EvictRequest.h
//
#ifndef __EVICTREQUEST_H_
#define __EVICTREQUEST_H_

#include "base/MemoryRequest.h"

class EvictRequest : public MemoryRequest {
  public:
    NEW_DELETE_OPERATORS_H(EvictRequest,MemoryRequest);
    EvictRequest (VA addr, Processor* P, Entity* source, Entity* dest, uint size)
        : MemoryRequest(addr, P, source, dest, size),
          packet(NULL),
          dirtyLine(false)
    {
    }
    
    virtual ~EvictRequest ();
    
    Packet* getPacket() const {
        return packet;    
    }

    void setPacket(Packet* pk) {
        packet = pk;
    }

    void setDirtyLine(const bool newDirtyLine) {
        dirtyLine = newDirtyLine;
    }

    bool hasDirtyLine() const {
        return dirtyLine;
    }

  private:
    Packet* packet;   
    bool dirtyLine;
};

#endif // __EVICTREQUEST_H_

